/*
 *  TCSS 343 - Winter 2012
 *  Homework 6b - Group 6
 *  
 *  Author: Daniel Anderson, Tony Butterfield, and Alan Miles   
 */
package redundantold;

import startercode.Vertex;


//TODO this may all be completely redundant with how Tony has coded the PrimsVertex class to
//take care of much of the added functionality. Which certainly simplifies things. I (Dan) commited
//anyway just in case we could use it.
/**
 * PrimHeapNode class.
 * Class for nodes in the heap that points to a vertex and vertex data.
 * 
 * @author Daniel Anderson
 * @author Tony Butterfield
 * @author Alan Miles
 * @version 03/08/2012
 */
public class PrimHeapNode {
	// Instance Fields ************************************************
	/** The vertex this heap node represents */
	private Vertex my_vertex;

	/** The integer heap position */
	private int my_heap_pos;  

	// Constructor **************************************************** 
	
	/**
	 * Constructor for PrimeHeapNode.
	 * @param the_vertex The vertex this node represents on the heap.
	 */
	public PrimHeapNode(final Vertex vertex)
	{
		my_vertex = vertex;  
		my_heap_pos = 0; //TODO how will this be initialized?
	}

	// Mutators **************************************************** 
	
	/**
	 * Sets the position of the heap.
	 * @param position The current position in the heap.
	 */
	public void setHeapPos(int position) {
		my_heap_pos = position;
	}
	
	// Accessors ******************************************************

	/**
	 * Returns the vertex this node represents.
	 * @return my_vertex The vertex.
	 */
	public Vertex getVertex() {
		return my_vertex;
	}

	/**
	 * Returns the current position of the node in the heap.
	 * @return my_heap_pos The current heap position.
	 */
	public int getHeapPos() {
		return my_heap_pos;
	}
}